package com.lin.cms.domain;

import java.io.Serializable;
import java.util.Date;

public class CmsConfig implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private Integer configId;
	private String contextPath;
	private String servletPoint;
	private Integer port;
	private String dbFileUri;
	private Boolean isUploadToDb;
	private String defImg;
	private String loginUrl;
	private String processUrl;
	private Boolean markOn;
	private Integer markWidth;
	private Integer markHeight;
	private String markImage;
	private String markContent;
	private Integer markSize;
	private String markColor;
	private Integer markAlpha;
	private Integer markPosition;
	private Integer markOffsetX;
	private Integer markOffsetY;
	private Date countClearTime;
	private Date countCopyTime;
	private String downloadCode;
	private Integer downloadTime;
	private String emailHost;
	private String emailEncoding;
	private String emailUsername;
	private String emailPassword;
	private String emailPersonal;
	private Boolean emailValidate;
	
	private MarkConfig m_markConfig;
	public static final String VERSION = "version";
	// collections
	private java.util.Map<java.lang.String, java.lang.String> attr;
	
	public CmsConfig(){
	}
	
	public String getVersion() {
		return getAttr().get(VERSION);
	}
	
	public Integer getConfigId() {
	    return this.configId;
	}
	
	public MarkConfig getMarkConfig () {
		return m_markConfig;
	}

	/**
	 * Set the value related to the column: ${prop.Column}
	 * @param m_markConfig the ${prop.Column} value
	 */
	public void setMarkConfig (MarkConfig m_markConfig) {
		this.m_markConfig = m_markConfig;
	}
	

	public java.util.Map<java.lang.String, java.lang.String> getAttr() {
		return attr;
	}

	public void setAttr(java.util.Map<java.lang.String, java.lang.String> attr) {
		this.attr = attr;
	}

	public void setConfigId(Integer configId) {
	    this.configId=configId;
	}
	public String getContextPath() {
	    return this.contextPath;
	}
	public void setContextPath(String contextPath) {
	    this.contextPath=contextPath;
	}
	public String getServletPoint() {
	    return this.servletPoint;
	}
	public void setServletPoint(String servletPoint) {
	    this.servletPoint=servletPoint;
	}
	public Integer getPort() {
	    return this.port;
	}
	public void setPort(Integer port) {
	    this.port=port;
	}
	public String getDbFileUri() {
	    return this.dbFileUri;
	}
	public void setDbFileUri(String dbFileUri) {
	    this.dbFileUri=dbFileUri;
	}
	public Boolean getIsUploadToDb() {
	    return this.isUploadToDb;
	}
	public void setIsUploadToDb(Boolean isUploadToDb) {
	    this.isUploadToDb=isUploadToDb;
	}
	public String getDefImg() {
	    return this.defImg;
	}
	public void setDefImg(String defImg) {
	    this.defImg=defImg;
	}
	public String getLoginUrl() {
	    return this.loginUrl;
	}
	public void setLoginUrl(String loginUrl) {
	    this.loginUrl=loginUrl;
	}
	public String getProcessUrl() {
	    return this.processUrl;
	}
	public void setProcessUrl(String processUrl) {
	    this.processUrl=processUrl;
	}
	public Boolean getMarkOn() {
	    return this.markOn;
	}
	public void setMarkOn(Boolean markOn) {
	    this.markOn=markOn;
	}
	public Integer getMarkWidth() {
	    return this.markWidth;
	}
	public void setMarkWidth(Integer markWidth) {
	    this.markWidth=markWidth;
	}
	public Integer getMarkHeight() {
	    return this.markHeight;
	}
	public void setMarkHeight(Integer markHeight) {
	    this.markHeight=markHeight;
	}
	public String getMarkImage() {
	    return this.markImage;
	}
	public void setMarkImage(String markImage) {
	    this.markImage=markImage;
	}
	public String getMarkContent() {
	    return this.markContent;
	}
	public void setMarkContent(String markContent) {
	    this.markContent=markContent;
	}
	public Integer getMarkSize() {
	    return this.markSize;
	}
	public void setMarkSize(Integer markSize) {
	    this.markSize=markSize;
	}
	public String getMarkColor() {
	    return this.markColor;
	}
	public void setMarkColor(String markColor) {
	    this.markColor=markColor;
	}
	public Integer getMarkAlpha() {
	    return this.markAlpha;
	}
	public void setMarkAlpha(Integer markAlpha) {
	    this.markAlpha=markAlpha;
	}
	public Integer getMarkPosition() {
	    return this.markPosition;
	}
	public void setMarkPosition(Integer markPosition) {
	    this.markPosition=markPosition;
	}
	public Integer getMarkOffsetX() {
	    return this.markOffsetX;
	}
	public void setMarkOffsetX(Integer markOffsetX) {
	    this.markOffsetX=markOffsetX;
	}
	public Integer getMarkOffsetY() {
	    return this.markOffsetY;
	}
	public void setMarkOffsetY(Integer markOffsetY) {
	    this.markOffsetY=markOffsetY;
	}
	
	public Date getCountClearTime() {
		return countClearTime;
	}
	public void setCountClearTime(Date countClearTime) {
		this.countClearTime = countClearTime;
	}
	public Date getCountCopyTime() {
		return countCopyTime;
	}
	public void setCountCopyTime(Date countCopyTime) {
		this.countCopyTime = countCopyTime;
	}
	public String getDownloadCode() {
	    return this.downloadCode;
	}
	public void setDownloadCode(String downloadCode) {
	    this.downloadCode=downloadCode;
	}
	public Integer getDownloadTime() {
	    return this.downloadTime;
	}
	public void setDownloadTime(Integer downloadTime) {
	    this.downloadTime=downloadTime;
	}
	public String getEmailHost() {
	    return this.emailHost;
	}
	public void setEmailHost(String emailHost) {
	    this.emailHost=emailHost;
	}
	public String getEmailEncoding() {
	    return this.emailEncoding;
	}
	public void setEmailEncoding(String emailEncoding) {
	    this.emailEncoding=emailEncoding;
	}
	public String getEmailUsername() {
	    return this.emailUsername;
	}
	public void setEmailUsername(String emailUsername) {
	    this.emailUsername=emailUsername;
	}
	public String getEmailPassword() {
	    return this.emailPassword;
	}
	public void setEmailPassword(String emailPassword) {
	    this.emailPassword=emailPassword;
	}
	public String getEmailPersonal() {
	    return this.emailPersonal;
	}
	public void setEmailPersonal(String emailPersonal) {
	    this.emailPersonal=emailPersonal;
	}
	public Boolean getEmailValidate() {
	    return this.emailValidate;
	}
	public void setEmailValidate(Boolean emailValidate) {
	    this.emailValidate=emailValidate;
	}
	@Override
	public int hashCode() {
	    final int prime = 31;
	    int result = 1;
	    result = prime * result + configId;
	    return result;
	}
	@Override
	public boolean equals(Object obj) {
	    if (this == obj)
	        return true;
	    if (obj == null)
	        return false;
	    if (getClass() != obj.getClass())
	        return false;
	    final CmsConfig other = (CmsConfig) obj;
	    if (configId!= other.configId)
	        return false;
	
	    return true;
	}
	@Override
	public String toString() {
	    return getClass().getName() + "@" + Integer.toHexString(hashCode()) + 
	        "("+
	        "configId="+"'"+configId+"'"+
	        ")";
	}
}
